package cn.abellflower.http;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * 字符集枚举
 *
 * @author gbzdyf@126.com
 * @create 2018-07-19 19:36
 **/
public enum  CharSetEnum {

    /**
     * UTF-8字符编码
     */
    UTF8("UTF-8", "UTF-8字符编码"),

    /**
     * UNICODE字符编码
     */
    UNICODE("UNICODE", "UNICODE字符编码"),

    /**
     * GB2312字符编码
     */
    GB2312("GB2312", "GB2312字符编码"),

    /**
     * ISO88591字符编码
     */
    ISO88591("ISO8859-1", "ISO88591字符编码"),

    /**
     * GBK字符编码
     */
    GBK("GBK", "GBK字符编码");

    /**
     * 请求方式 key
     */
    private String charSet;

    /**
     * 请求方式描述
     */
    private String desc;

    /**
     * 封装信息
     */
    private static final Map<String, String> VALUE_MAP;

    CharSetEnum(String charSet, String desc) {
        this.charSet = charSet;
        this.desc = desc;
    }



    static {
        HashMap<String, String> value = new HashMap<>(2);
        for (CharSetEnum charSetEnum : CharSetEnum.values()) {
            value.put(charSetEnum.charSet, charSetEnum.desc);
        }
        VALUE_MAP = Collections.unmodifiableMap(value);
    }

    /**
     * 根据key 获取描述信息
     * @param key
     * @return
     */
    public String getDescriptionByKey(String key) {
        return VALUE_MAP.get(key);
    }

    /**
     * 获取字符编码
     * @return
     */
    public String getCharSet() {
        return charSet;
    }
}
